package com.graduate.emos.wx.service;


import org.apache.shiro.crypto.hash.Hash;

import java.util.ArrayList;
import java.util.HashMap;

public interface CheckinService {
    /**
     * 校验当前是否可以进行考勤
     * @param userId 用户id
     * @param date 日期
     * @return 返回码
     */
    String validCanCheckin(int userId, String date);

    /**
     * 执行签到
     * @param inParam 携带签到信息
     */
    void checkin(HashMap inParam);

    /**
     * 创建人脸模型数据
     * @param userId 用户id
     * @param path 照片路径
     */
    void createFaceModel(int userId, String path);

    /**
     * 查询用户当天的签到情况
     * @param userId 用户id
     * @return 用户的签到信息
     */
    HashMap searchTodayCheckin(int userId);

    /**
     * 查询用户签到总数
     * @param userId 用户id
     * @return 用户的签到天数
     */
    long searchCheckinDays(int userId);

    /**
     * 查询一周的签到情况
     *
     * @param inParam 包含用户id等信息的入参
     * @return 一周签到情况
     */
    ArrayList<HashMap> searchWeekCheckin(HashMap inParam);

    /**
     * 查询一个月的签到情况
     *
     * @param inParam 入参
     * @return 一个月签到情况
     */
    ArrayList<HashMap> searchMonthCheckin(HashMap inParam);
}